1. Field of the Invention
The present invention generally relates to integrated circuit design.
2. Description of the Related Art
Current computer systems typically contain many integrated circuit (IC) devices, each device being designed to perform a separate function within the system. Each device may perform a different function such as general data processing or graphics processing. Each device typically contains within it several components and sub-components, each of which are delegated some portion of the device's function. Examples of these components may consist of adders, multiplexers, and registers.
Designers of integrated circuit devices generally use hardware description languages, such as VHDL (Very High Speed Integrated Circuit Hardware Description Language), to capture the design of a device and components within a device. The designer of a component typically uses a hardware description language to create a logical model of the component. The logical model typically contains hardware design code which may be used to define an instance the component. The hardware design code for the component may be used by a compiler to compile an instance of the component. The hardware design code may also be used by a synthesis tool to synthesize an instance of the component. To synthesize an instance of the component is to translate the hardware design code into a list of Boolean logic components which make up the instance of the component (and gates, inverters, or gates, etc.).
After the hardware description language design phase is complete, another phase of the integrated circuit design process commences commonly referred to as floorplanning. Floorplanning may include basic placement of components onto the physical surface available on the semiconductor. The placement of components may be guided by several design rules. For example, the design rules may dictate component placement to achieve the desired performance, spacing, and/or power consumption of the device which the components collectively form. Examples of the types of design rules are: what metal layers different components need to attach to, where the component will attach to the power grid, if and where a component may connect to an I/O pad or pads, and the necessary spacing between components. Furthermore, rules may also dictate polysilicon pitch, transistor pitch, and other component specific dimensional limitations.
Sometimes checks of the integrated circuit design are performed against the design rules after floorplanning. The results, consisting of errors indicating misplaced components according to the design rules, are presented in text based form. Manual visual analysis of the results is typically required to determine which components violate the design rules. Furthermore, hand calculations are often required to determine new and correct placement of the misplaced components. This process is prone to errors and is time consuming.
Therefore, there exists a need for an improved technique for determining when components are violating design rules and an improved technique for correcting design rule violations.